Skip to content

Firestore lite overview #4861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
May 13, 2021
Merged

Firestore lite overview #4861

merged 13 commits into from
May 13, 2021

Conversation

egilmorez
Copy link
Contributor

Adding a simple overview to explain what Firestore Lite is.

Later if we have richer/more detailed information in the guides, we can link to that as well.

@changeset-bot
Copy link

changeset-bot bot commented May 4, 2021

⚠️ No Changeset found

Latest commit: 3a989d0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@google-oss-bot
Copy link
Contributor

google-oss-bot commented May 4, 2021

Binary Size Report

Affected SDKs

  • @firebase/analytics

    Type Base (f3a1a3f) Head (659f770) Diff
    esm2017 ? 18.7 kB ? (?)
    main ? 24.2 kB ? (?)
    module ? 23.4 kB ? (?)
  • @firebase/api-documenter

    Type Base (f3a1a3f) Head (659f770) Diff
    main ? 3.72 kB ? (?)
  • @firebase/app

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 10.9 kB ? (?)
    esm2017 ? 9.63 kB ? (?)
    lite ? 8.95 kB ? (?)
    lite-esm2017 ? 7.93 kB ? (?)
    main ? 9.99 kB ? (?)
    module ? 10.9 kB ? (?)
    react-native ? 9.70 kB ? (?)
  • @firebase/auth

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 181 kB ? (?)
    main ? 181 kB ? (?)
    module ? 181 kB ? (?)
  • @firebase/component

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 7.24 kB ? (?)
    esm2017 ? 5.55 kB ? (?)
    main ? 7.57 kB ? (?)
    module ? 7.24 kB ? (?)
  • @firebase/database

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 296 kB ? (?)
    esm2017 ? 264 kB ? (?)
    main ? 298 kB ? (?)
    module ? 296 kB ? (?)
  • @firebase/database-compat

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 86.3 kB ? (?)
    main ? 102 kB ? (?)
    module ? 86.3 kB ? (?)
  • @firebase/database-exp

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 246 kB ? (?)
    main ? 278 kB ? (?)
    module ? 246 kB ? (?)
  • @firebase/firestore

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 283 kB ? (?)
    esm2017 ? 226 kB ? (?)
    main ? 530 kB ? (?)
    module ? 283 kB ? (?)
    react-native ? 226 kB ? (?)
  • @firebase/firestore-compat

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 28.4 kB ? (?)
    main ? 37.5 kB ? (?)
    module ? 28.4 kB ? (?)
    react-native ? 28.2 kB ? (?)
  • @firebase/firestore-exp

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 223 kB ? (?)
    main ? 506 kB ? (?)
    module ? 223 kB ? (?)
    react-native ? 224 kB ? (?)
  • @firebase/firestore-lite

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 71.9 kB ? (?)
    main ? 146 kB ? (?)
    module ? 71.9 kB ? (?)
    react-native ? 72.1 kB ? (?)
  • @firebase/firestore/bundle

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 289 kB ? (?)
    esm2017 ? 176 kB ? (?)
    main ? 526 kB ? (?)
    module ? 289 kB ? (?)
    react-native ? 176 kB ? (?)
  • @firebase/firestore/memory

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 215 kB ? (?)
    esm2017 ? 172 kB ? (?)
    main ? 324 kB ? (?)
    module ? 215 kB ? (?)
    react-native ? 172 kB ? (?)
  • @firebase/firestore/memory-bundle

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 224 kB ? (?)
    esm2017 ? 176 kB ? (?)
    main ? 321 kB ? (?)
    module ? 224 kB ? (?)
    react-native ? 176 kB ? (?)
  • @firebase/functions

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 10.6 kB ? (?)
    esm2017 ? 8.15 kB ? (?)
    main ? 11.0 kB ? (?)
    module ? 10.6 kB ? (?)
  • @firebase/installations

    Type Base (f3a1a3f) Head (659f770) Diff
    esm2017 ? 16.6 kB ? (?)
    main ? 22.2 kB ? (?)
    module ? 21.6 kB ? (?)
  • @firebase/logger

    Type Base (f3a1a3f) Head (659f770) Diff
    esm2017 ? 3.25 kB ? (?)
    main ? 5.38 kB ? (?)
    module ? 4.65 kB ? (?)
  • @firebase/messaging

    Type Base (f3a1a3f) Head (659f770) Diff
    esm2017 ? 26.2 kB ? (?)
    main ? 34.9 kB ? (?)
    module ? 34.4 kB ? (?)
  • @firebase/performance

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 27.7 kB ? (?)
    esm2017 ? 25.9 kB ? (?)
    main ? 28.0 kB ? (?)
    module ? 27.7 kB ? (?)
  • @firebase/polyfill

    Type Base (f3a1a3f) Head (659f770) Diff
    main ? 747 B ? (?)
    module ? 705 B ? (?)
  • @firebase/remote-config

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 22.4 kB ? (?)
    esm2017 ? 17.4 kB ? (?)
    main ? 23.0 kB ? (?)
    module ? 22.4 kB ? (?)
  • @firebase/rules-unit-testing

    Type Base (f3a1a3f) Head (659f770) Diff
    main ? 12.6 kB ? (?)
  • @firebase/storage

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 63.4 kB ? (?)
    esm2017 ? 54.6 kB ? (?)
    main ? 63.8 kB ? (?)
    module ? 63.4 kB ? (?)
  • @firebase/storage-compat

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 10.2 kB ? (?)
    main ? 29.1 kB ? (?)
    module ? 10.2 kB ? (?)
  • @firebase/storage-exp

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 51.5 kB ? (?)
    main ? 52.6 kB ? (?)
    module ? 51.5 kB ? (?)
  • @firebase/util

    Type Base (f3a1a3f) Head (659f770) Diff
    browser ? 21.2 kB ? (?)
    esm2017 ? 20.0 kB ? (?)
    main ? 25.8 kB ? (?)
    module ? 21.2 kB ? (?)
  • @firebase/webchannel-wrapper

    Type Base (f3a1a3f) Head (659f770) Diff
    esm2017 ? 39.5 kB ? (?)
    main ? 46.9 kB ? (?)
    module ? 40.8 kB ? (?)
  • firebase

    Click to show 15 binary size changes.
    Type Base (f3a1a3f) Head (659f770) Diff
    firebase-analytics.js ? 35.8 kB ? (?)
    firebase-app.js ? 21.2 kB ? (?)
    firebase-auth.js ? 177 kB ? (?)
    firebase-database.js ? 187 kB ? (?)
    firebase-firestore.js ? 332 kB ? (?)
    firebase-firestore.memory.js ? 266 kB ? (?)
    firebase-functions.js ? 10.7 kB ? (?)
    firebase-installations.js ? 19.3 kB ? (?)
    firebase-messaging.js ? 41.0 kB ? (?)
    firebase-performance-standalone.es2017.js ? 72.9 kB ? (?)
    firebase-performance-standalone.js ? 49.2 kB ? (?)
    firebase-performance.js ? 38.3 kB ? (?)
    firebase-remote-config.js ? 36.9 kB ? (?)
    firebase-storage.js ? 41.6 kB ? (?)
    firebase.js ? 874 kB ? (?)

Test Logs

@google-oss-bot
Copy link
Contributor

google-oss-bot commented May 4, 2021

Size Analysis Report

Affected Products

Diffs between base commit (f3a1a3f) and head commit (659f770) are too large (479,509 characters) to display.

Please check below links to see details from the original test log.

Copy link
Contributor

@schmidt-sebastian schmidt-sebastian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with rewrite suggestion :)

* Firestore Lite
*
* @remarks This package includes the same feature set as Firestore, but
* without latency compensation or snapshot listeners (and with
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do users know what these features are? What about something like this:

Firestore Lite is a small online-only SDK that allows read and write access to your Firestore database. All operations talk directly to the backend and onSnapshot() APIs are not supported.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds great! And . . . can you send a PR that adds it Sebastian?

I'm discouraged by the failing tests I see for this PR, as well as my ongoing inability to create a clean client (why do I seem to have 12 commits on a brand-new branch for which git status was clear?).

Quickest way forward that I can see is for me to drop this PR and for you or Fei to add the FL description. WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can certainly take this to completion. Do you have rewording suggestions or should we take my suggestion as is? I would be disappointed if you didn't have an improvement in the back of your head :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hehe, all I got is a comma and a substitution for "talk to," which the style guide says to avoid. How about:

"Firestore Lite is a small online-only SDK that allows read and write access to your Firestore database. All operations connect directly to the backend, and onSnapshot() APIs are not supported."

I tried re-running the CI jobs on Feiyang's advice, but it looks like I still have several tests failing. If you could take this Sebastian, that would be awesome.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Committed directly to this PR. Fingers crossed.

@schmidt-sebastian
Copy link
Contributor

This can now be merged pending the lift of the code freeze

@egilmorez egilmorez merged commit d742823 into master May 13, 2021
@egilmorez egilmorez deleted the eg-lite-overview branch May 13, 2021 17:23
@firebase firebase locked and limited conversation to collaborators Jun 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants